package cn.initcap.bio.tcp;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;

/**
 * @author initcap
 * @date Created in 2018/6/7 PM10:10.
 */
public class Client {

    public static void main(String[] args) {
        Socket socket = null;
        try {
            //1.创建客户端Socket,指定服务器地址和端口
            socket = new Socket("localhost", 8888);
            //2.获取输出流，向服务器端发送信息,字节输出流
            OutputStream os = socket.getOutputStream();
            //将输出流包装为打印流
            PrintWriter pw = new PrintWriter(os);
            pw.write("用户名：admin;密码:123");
            pw.flush();
            //关闭输出流
            socket.shutdownOutput();
            //3.获取输入流,并读取服务器端的相应信息
            InputStream is = socket.getInputStream();
            BufferedReader br = new BufferedReader(new InputStreamReader(is));
            String info = null;
            while ((info = br.readLine()) != null) {
                System.out.println("我是客户端，服务器说：" + info);
            }
            //4.关闭资源
            br.close();
            is.close();
            pw.close();
            os.close();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (socket != null) {
                try {
                    socket.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

}
